package br.com.msystem.vo;
// Generated 12/03/2013 13:33:49 by Hibernate Tools 3.4.0.CR1


import java.math.BigDecimal;
import java.util.Date;
import java.util.HashSet;
import java.util.Set;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import static javax.persistence.GenerationType.IDENTITY;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.persistence.UniqueConstraint;

/**
 * NfEntradas generated by hbm2java
 */
@Entity
@Table(name="nf_entradas"
    ,catalog="handy"
    , uniqueConstraints = @UniqueConstraint(columnNames={"NUMERO_NF_ENT", "CLIENTE_SQ"}) 
)
public class NfEntradas  implements java.io.Serializable {


     private int nfEntradaSq;
     private Naturezas naturezas;
     private Clientes clientes;
     private int numeroNfEnt;
     private Date dtemissaoNfEnt;
     private BigDecimal baseIcms;
     private BigDecimal vlrIcms;
     private BigDecimal baseIcmsSubst;
     private BigDecimal vlrIcmsSubst;
     private BigDecimal vlrProdutos;
     private BigDecimal vlrFrete;
     private BigDecimal vlrSeguro;
     private BigDecimal vlrDespAcess;
     private BigDecimal vlrIpi;
     private BigDecimal vlrTotal;
     private byte[] observacao;
     private String transferida;
     private Date dtEntrada;
     private Set<ProdutosFaltantes> produtosFaltanteses = new HashSet<ProdutosFaltantes>(0);
     private Set<NfEntradasItens> nfEntradasItenses = new HashSet<NfEntradasItens>(0);

    public NfEntradas() {
    }

	
    public NfEntradas(Clientes clientes, int numeroNfEnt, Date dtemissaoNfEnt) {
        this.clientes = clientes;
        this.numeroNfEnt = numeroNfEnt;
        this.dtemissaoNfEnt = dtemissaoNfEnt;
    }
    public NfEntradas(Naturezas naturezas, Clientes clientes, int numeroNfEnt, Date dtemissaoNfEnt, BigDecimal baseIcms, BigDecimal vlrIcms, BigDecimal baseIcmsSubst, BigDecimal vlrIcmsSubst, BigDecimal vlrProdutos, BigDecimal vlrFrete, BigDecimal vlrSeguro, BigDecimal vlrDespAcess, BigDecimal vlrIpi, BigDecimal vlrTotal, byte[] observacao, String transferida, Date dtEntrada, Set<ProdutosFaltantes> produtosFaltanteses, Set<NfEntradasItens> nfEntradasItenses) {
       this.naturezas = naturezas;
       this.clientes = clientes;
       this.numeroNfEnt = numeroNfEnt;
       this.dtemissaoNfEnt = dtemissaoNfEnt;
       this.baseIcms = baseIcms;
       this.vlrIcms = vlrIcms;
       this.baseIcmsSubst = baseIcmsSubst;
       this.vlrIcmsSubst = vlrIcmsSubst;
       this.vlrProdutos = vlrProdutos;
       this.vlrFrete = vlrFrete;
       this.vlrSeguro = vlrSeguro;
       this.vlrDespAcess = vlrDespAcess;
       this.vlrIpi = vlrIpi;
       this.vlrTotal = vlrTotal;
       this.observacao = observacao;
       this.transferida = transferida;
       this.dtEntrada = dtEntrada;
       this.produtosFaltanteses = produtosFaltanteses;
       this.nfEntradasItenses = nfEntradasItenses;
    }
   
     @Id @GeneratedValue(strategy=IDENTITY)

    
    @Column(name="NF_ENTRADA_SQ", unique=true, nullable=false)
    public int getNfEntradaSq() {
        return this.nfEntradaSq;
    }
    
    public void setNfEntradaSq(int nfEntradaSq) {
        this.nfEntradaSq = nfEntradaSq;
    }

@ManyToOne(fetch=FetchType.LAZY)
    @JoinColumn(name="NATUREZA_SQ")
    public Naturezas getNaturezas() {
        return this.naturezas;
    }
    
    public void setNaturezas(Naturezas naturezas) {
        this.naturezas = naturezas;
    }

@ManyToOne(fetch=FetchType.LAZY)
    @JoinColumn(name="CLIENTE_SQ", nullable=false)
    public Clientes getClientes() {
        return this.clientes;
    }
    
    public void setClientes(Clientes clientes) {
        this.clientes = clientes;
    }

    
    @Column(name="NUMERO_NF_ENT", nullable=false)
    public int getNumeroNfEnt() {
        return this.numeroNfEnt;
    }
    
    public void setNumeroNfEnt(int numeroNfEnt) {
        this.numeroNfEnt = numeroNfEnt;
    }

    @Temporal(TemporalType.TIMESTAMP)
    @Column(name="DTEMISSAO_NF_ENT", nullable=false, length=19)
    public Date getDtemissaoNfEnt() {
        return this.dtemissaoNfEnt;
    }
    
    public void setDtemissaoNfEnt(Date dtemissaoNfEnt) {
        this.dtemissaoNfEnt = dtemissaoNfEnt;
    }

    
    @Column(name="BASE_ICMS", precision=9)
    public BigDecimal getBaseIcms() {
        return this.baseIcms;
    }
    
    public void setBaseIcms(BigDecimal baseIcms) {
        this.baseIcms = baseIcms;
    }

    
    @Column(name="VLR_ICMS", precision=9)
    public BigDecimal getVlrIcms() {
        return this.vlrIcms;
    }
    
    public void setVlrIcms(BigDecimal vlrIcms) {
        this.vlrIcms = vlrIcms;
    }

    
    @Column(name="BASE_ICMS_SUBST", precision=9)
    public BigDecimal getBaseIcmsSubst() {
        return this.baseIcmsSubst;
    }
    
    public void setBaseIcmsSubst(BigDecimal baseIcmsSubst) {
        this.baseIcmsSubst = baseIcmsSubst;
    }

    
    @Column(name="VLR_ICMS_SUBST", precision=9)
    public BigDecimal getVlrIcmsSubst() {
        return this.vlrIcmsSubst;
    }
    
    public void setVlrIcmsSubst(BigDecimal vlrIcmsSubst) {
        this.vlrIcmsSubst = vlrIcmsSubst;
    }

    
    @Column(name="VLR_PRODUTOS", precision=9)
    public BigDecimal getVlrProdutos() {
        return this.vlrProdutos;
    }
    
    public void setVlrProdutos(BigDecimal vlrProdutos) {
        this.vlrProdutos = vlrProdutos;
    }

    
    @Column(name="VLR_FRETE", precision=9)
    public BigDecimal getVlrFrete() {
        return this.vlrFrete;
    }
    
    public void setVlrFrete(BigDecimal vlrFrete) {
        this.vlrFrete = vlrFrete;
    }

    
    @Column(name="VLR_SEGURO", precision=9)
    public BigDecimal getVlrSeguro() {
        return this.vlrSeguro;
    }
    
    public void setVlrSeguro(BigDecimal vlrSeguro) {
        this.vlrSeguro = vlrSeguro;
    }

    
    @Column(name="VLR_DESP_ACESS", precision=9)
    public BigDecimal getVlrDespAcess() {
        return this.vlrDespAcess;
    }
    
    public void setVlrDespAcess(BigDecimal vlrDespAcess) {
        this.vlrDespAcess = vlrDespAcess;
    }

    
    @Column(name="VLR_IPI", precision=9)
    public BigDecimal getVlrIpi() {
        return this.vlrIpi;
    }
    
    public void setVlrIpi(BigDecimal vlrIpi) {
        this.vlrIpi = vlrIpi;
    }

    
    @Column(name="VLR_TOTAL", precision=9)
    public BigDecimal getVlrTotal() {
        return this.vlrTotal;
    }
    
    public void setVlrTotal(BigDecimal vlrTotal) {
        this.vlrTotal = vlrTotal;
    }

    
    @Column(name="OBSERVACAO")
    public byte[] getObservacao() {
        return this.observacao;
    }
    
    public void setObservacao(byte[] observacao) {
        this.observacao = observacao;
    }

    
    @Column(name="TRANSFERIDA", length=1)
    public String getTransferida() {
        return this.transferida;
    }
    
    public void setTransferida(String transferida) {
        this.transferida = transferida;
    }

    @Temporal(TemporalType.TIMESTAMP)
    @Column(name="DT_ENTRADA", length=19)
    public Date getDtEntrada() {
        return this.dtEntrada;
    }
    
    public void setDtEntrada(Date dtEntrada) {
        this.dtEntrada = dtEntrada;
    }

@OneToMany(fetch=FetchType.LAZY, mappedBy="nfEntradas")
    public Set<ProdutosFaltantes> getProdutosFaltanteses() {
        return this.produtosFaltanteses;
    }
    
    public void setProdutosFaltanteses(Set<ProdutosFaltantes> produtosFaltanteses) {
        this.produtosFaltanteses = produtosFaltanteses;
    }

@OneToMany(fetch=FetchType.LAZY, mappedBy="nfEntradas")
    public Set<NfEntradasItens> getNfEntradasItenses() {
        return this.nfEntradasItenses;
    }
    
    public void setNfEntradasItenses(Set<NfEntradasItens> nfEntradasItenses) {
        this.nfEntradasItenses = nfEntradasItenses;
    }




}


